The present invention relates to cache control in I/O operations which use cache areas of servers and storage systems.
In recent years, flash memories capable of operating at a higher speed than HDDs have been mounted on servers, and in the future, it is expected that high-speed memories such as magnetoresistive random access memories (MRAM) and phase change memories (PCMs) will be also mounted on servers.
One of methods of utilizing such high-speed memories mounted on servers is utilizing high-speed memories as caches of a storage system. Specifically, caches for data to be stored in a storage system are arranged in a high-speed memory mounted on a server. In this way, the number of I/O operations to the storage system is decreased, and eventually, the I/O operations in the storage system are accelerated.
Examples of a cache control method in high-speed memories include a control method which uses a first-in-first-out (FIFO) algorithm and a control method which uses a least recently used (LRU) algorithm.
A “Hot data pinning method” can be considered as an example of such a cache control method. In the “Hot data pinning method,” the number of I/O operations (that is, the number of accesses) to a storage system from a server is obtained for respective blocks of the storage system, and the data of a block of the storage system, to which the number of accesses is large is arranged in a high-speed memory every predetermined period of time.
For example, when the number of accesses to each block of a storage system from a server is obtained for a certain period of time, and the results show that the number of accesses to an address A is 100, the number of accesses to an address B is 15, and the number of accesses to an address C is 50, items of data are arranged in the high-speed memory in the order of the addresses A, C, and B. After that, the numbers of accesses to each block of the storage system from the server is obtained again, and arrangement of data in the high-speed memory is replaced based on the number of accesses to each block.
As an example of the Hot data pinning method, Japanese Unexamined Patent Application Publication No. 2006-236470 discloses a method of storing an access history in respective blocks.